﻿namespace Digitalmes.Scada.Configuration;

/// <summary>
/// 标签名称定义。
/// </summary>
public abstract class TagDefine
{
    #region 设备警报、状态标记

    /// <summary>
    /// 报警标记。
    /// </summary>
    public const string PLC_Alarm = nameof(PLC_Alarm);

    /// <summary>
    /// 设备运行状态标记。
    /// </summary>
    public const string PLC_Equipment_State = nameof(PLC_Equipment_State);

    /// <summary>
    /// 设备运行模式标记。
    /// </summary>
    public const string PLC_Equipment_Mode = nameof(PLC_Equipment_Mode);

    #endregion

    #region 进站标记

    /// <summary>
    /// 进站信号标记。
    /// </summary>
    public const string PLC_Entry_Sign = nameof(PLC_Entry_Sign);

    /// <summary>
    /// 进站的 SN 标记。
    /// </summary>
    public const string PLC_Entry_SN = nameof(PLC_Entry_SN);

    /// <summary>
    /// 进站的配方号标记。
    /// </summary>
    public const string PLC_Entry_Formual = nameof(PLC_Entry_Formual);

    /// <summary>
    /// 进站的 RFID 标记。
    /// </summary>
    public const string PLC_Entry_Rfid = nameof(PLC_Entry_Rfid);

    #endregion

    #region 出站（存档）标记

    /// <summary>
    /// 出站信号标记。
    /// </summary>
    public const string PLC_Archive_Sign = nameof(PLC_Archive_Sign);

    /// <summary>
    /// 出站的 SN 标记。
    /// </summary>
    public const string PLC_Archive_SN = nameof(PLC_Archive_SN);

    /// <summary>
    /// 出站的 SN 状态结果标记（1=>OK/2=>NG）。
    /// </summary>
    public const string PLC_Archive_PassResult = nameof(PLC_Archive_PassResult);

    /// <summary>
    /// 出站的配方号标记。
    /// </summary>
    public const string PLC_Archive_Formual = nameof(PLC_Archive_Formual);

    /// <summary>
    /// 出站的操作人标记。
    /// </summary>
    public const string PLC_Archive_Operator = nameof(PLC_Archive_Operator);

    /// <summary>
    /// 出站的班次标记。
    /// </summary>
    public const string PLC_Archive_Shift = nameof(PLC_Archive_Shift);

    /// <summary>
    /// 出站的 RFID 标记。
    /// </summary>
    public const string PLC_Archive_Rfid = nameof(PLC_Archive_Rfid);

    /// <summary>
    /// 出站的 CT 标记。
    /// </summary>
    public const string PLC_Archive_CycleTime = nameof(PLC_Archive_CycleTime);

    #endregion

    #region 扫码关键物料标记

    /// <summary>
    /// 扫关键物料条码信号标记。
    /// </summary>
    public const string PLC_Scan_Sign = nameof(PLC_Scan_Sign);

    /// <summary>
    /// 扫关键物料条码 Barcode 标记
    /// </summary>
    public const string PLC_Scan_Barcode = nameof(PLC_Scan_Barcode);

    /// <summary>
    /// 扫码上料步序
    /// </summary>
    public const string PLC_Scan_Step = nameof(PLC_Scan_Step);

    #endregion

    #region 扫码批次物标记

    /// <summary>
    /// 扫批次物条码信号标记。
    /// </summary>
    public const string PLC_ScanBatch_Sign = nameof(PLC_ScanBatch_Sign);

    /// <summary>
    /// 扫批次物条码标记
    /// </summary>
    public const string PLC_ScanBatch_Barcode = nameof(PLC_ScanBatch_Barcode);

    #endregion

    #region 上件请求

    /// <summary>
    /// 上件请求信号标记。
    /// </summary>
    public const string PLC_Req_Sign = nameof(PLC_Req_Sign);

    /// <summary>
    /// 上件请求的 SN。
    /// </summary>
    public const string PLC_Req_SN = nameof(PLC_Req_SN);

    /// <summary>
    /// 上件请求的配方号。
    /// </summary>
    public const string PLC_Req_Formual = nameof(PLC_Req_Formual);

    #endregion 

    #region NG口上件

    /// <summary>
    /// NG口扫码信号。
    /// </summary>
    public const string PLC_TakePartIn_Sign = nameof(PLC_TakePartIn_Sign);

    /// <summary>
    /// NG口扫码SN。
    /// </summary>
    public const string PLC_TakePartIn_SN = nameof(PLC_TakePartIn_SN);

    #endregion

    #region MES 回写数据标记

    /// <summary>
    /// MES 返回给 PLC 的条码标记。
    /// </summary>
    public const string MES_Callback_SN = nameof(MES_Callback_SN);

    /// <summary>
    /// MES 返回给 PLC 的返工重上线工序标记。
    /// </summary>
    public const string MES_Callback_ReworkProc = nameof(MES_Callback_ReworkProc);

    /// <summary>
    /// MES 返回给 PLC 的返工重上线工位标记。
    /// </summary>
    public const string MES_Callback_ReworkOp = nameof(MES_Callback_ReworkOp);

    /// <summary>
    /// MES 返回给 PLC 的返工重上线工艺（工位）的工艺步序标记。
    /// </summary>
    public const string MES_Callback_ReworkStep = nameof(MES_Callback_ReworkStep);

    /// <summary>
    /// MES 返回给 PLC 的异常消息标记。
    /// </summary>
    public const string MES_Callback_ErrorMsg = nameof(MES_Callback_ErrorMsg);

    #endregion
}
